This invention relates to multi-channel data communication, and more particularly to compensating for different amounts of signal propagation delay in the various channels used. in such communication.
Data communication, especially high-speed data communication, is sometimes performed using several parallel channels or lanes that originate at a transmitter (e.g., an integrated circuit device), pass through a communication medium (e.g., printed circuit board traces), and end at a receiver (e.g., another integrated circuit device). Either or both of the above-mentioned integrated circuits may be a programmable logic device (“PLD”). Data is transmitted in each channel serially, but the data in each channel is part of a larger data structure that originates at the transmitter and must be correctly reassembled by the receiver. Such correct reassembly may depend on the receiver's reassembly circuitry receiving the data from the various channels with no more than a certain, relatively small amount of delay difference between the channels. Such inter-channel delay difference may be referred to as skew.
There are many possible sources of skew. The basic transmitter circuitry itself may have some skew, especially in the packaging portion of that circuitry. The communication medium between the transmitter and receiver may be a source of skew. And the receiver circuitry (especially the packaging portion of that circuitry) may be another source of skew.
There may be a product specification for how much skew a transmitter is allowed to have in its output signals. It would therefore be desirable to provide circuitry for use in a transmitter that would help the transmitter meet such a specification. Similarly, receiver circuitry may have a limit as to how much skew it can tolerate, and augmenting that circuitry to allow it to receive signals with more than that amount of skew would increase the usability of the receiver.